IMPORTA DATI

Questi datataset sono scaricabili dal seguente repo.

library(readxl)
## Warning: il pacchetto 'readxl' è stato creato con R versione 4.4.2
library(openxlsx) 
## Warning: il pacchetto 'openxlsx' è stato creato con R versione 4.4.2
library(dplyr)    
## Warning: il pacchetto 'dplyr' è stato creato con R versione 4.4.2
## 
## Caricamento pacchetto: 'dplyr'
## I seguenti oggetti sono mascherati da 'package:stats':
## 
##     filter, lag
## I seguenti oggetti sono mascherati da 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2) 
library(plotly) 
## 
## Caricamento pacchetto: 'plotly'
## Il seguente oggetto è mascherato da 'package:ggplot2':
## 
##     last_plot
## Il seguente oggetto è mascherato da 'package:stats':
## 
##     filter
## Il seguente oggetto è mascherato da 'package:graphics':
## 
##     layout
library(ineq)    
library(knitr)
## Warning: il pacchetto 'knitr' è stato creato con R versione 4.4.2
nomi_dati = paste0("Aida_", 1:14, ".xlsx")
data = read.xlsx(nomi_dati[1])
for (nome in nomi_dati[2:length(nomi_dati)]){
  data <- rbind(data, read.xlsx(nome))
}

Settori <- read_excel("Settori_Industriali.xlsx")

SELEZIONE E TRASFORMAZIONE DEI DATI

# Pulizia nomi colonne: sostituzione di "..", ".", "%", "/", "()", ecc.
colnames(data) <- gsub("\\.\\.", "_", colnames(data))
colnames(data) <- gsub("\\.", "_", colnames(data))
colnames(data) <- gsub("%", "Anno", colnames(data))
colnames(data) <- gsub("/", "_", colnames(data))
colnames(data) <- gsub("[()]", "", colnames(data))
colnames(data) <- gsub("Dipendenti", "Dipendenti_Anno", colnames(data))
colnames(data) <- gsub("EUR", "EUR_Anno", colnames(data))

# Rimozione di colonne non necessarie
data <- data[, -c(1, 6,16,26,36,46,56,66,76,86,96,106,116,128,131,132,133,135)]

# Aggiunta di una colonna con i primi tre caratteri del codice NACE
data$NACE_Rev_2_first_3 <- substr(data$NACE_Rev_2, 1, 3)

# Ordinamento dei dati in base alla nuova colonna
data <- data[order(data$NACE_Rev_2_first_3), ]

# Sostituzione dei valori "n.d." con NA
data[data == "n.d."] <- NA
data <- data[c(1:94554),]
dim(data)
## [1] 94554   121
# Salvataggio dei dati trasformati
# write.xlsx(data, "data.xlsx")

SUDDIVISIONE DATASET PER CODICE NACE

I nostru sono codici NACE a 3 cifre sul settore dei trasporti.

# Suddividere il dataset in una lista di data frame basati sul codice NACE
lista_dataset <- split(data, paste0("NACE_", data$NACE_Rev_2_first_3))
# View(lista_dataset)

### TRASFORMAZIONE IN PANEL DATA ###

# trasformiamo ciascun dataset della lista lista_dataset in formato panel data, 
# un formato utile per analisi temporali e longitudinali.

# Carica il pacchetto necessario
library(tidyr)

# Trasformazione in panel data
lista_panel <- lapply(lista_dataset, function(df) {
  df %>%
    pivot_longer(
      cols = matches("(_Anno_|_%)\\d{4}$"),     # Seleziona colonne con "_Anno_" o "_%" seguito da 4 cifre
      names_to = c("Variabile", "Anno"),        # Crea le colonne "Variabile" e "Anno"
      names_pattern = "(.*)_(?:Anno|%)_(\\d{4})", # Estrai nome variabile e anno
      values_to = "Valore"
    ) %>%
    pivot_wider(
      names_from = Variabile,                   # Trasforma "Variabile" in colonne
      values_from = Valore                      # Usa i valori corrispondenti
    )
})

# View(lista_panel)

ANALISI DI CONCENTRAZIONE CON LA VARIABILE RICAVI DELLE VENDITE

# Funzione per calcolare gli indici di concentrazione
calcola_indici_ricavi <- function(df) {
  df <- df %>%
    mutate(Ricavi_delle_vendite_migl_EUR = as.numeric(Ricavi_delle_vendite_migl_EUR)) %>% 
    filter(!is.na(Ricavi_delle_vendite_migl_EUR))               
  
  # Calcolo degli indici per ciascun anno
  indici <- df %>%
    group_by(Anno) %>%
    summarize(
      CR4 = sum(sort(Ricavi_delle_vendite_migl_EUR, decreasing = TRUE)[1:4]) / sum(Ricavi_delle_vendite_migl_EUR) * 100,
      HHI = sum((Ricavi_delle_vendite_migl_EUR / sum(Ricavi_delle_vendite_migl_EUR))^2) * 10000,
      Gini = ineq(Ricavi_delle_vendite_migl_EUR, type = "Gini")
    )
  
  return(indici)
}

# Applicazione della funzione agli elementi della lista
# In questa sezione, applichiamo la funzione calcola_indici_ricavi a tutti i 
# dataset nella lista lista_panel. Il risultato è una lista di indici calcolati 
# per ciascun gruppo settoriale.

# Calcolo degli indici per ciascun dataset nella lista
lista_indici_ricavi <- lapply(lista_panel, calcola_indici_ricavi)

# Assegna un nome significativo ai risultati
names(lista_indici_ricavi) <- paste0("Indici_", names(lista_panel))

# Visualizza la struttura della lista risultante
str(lista_indici_ricavi)  
## List of 15
##  $ Indici_NACE_491: tibble [9 × 4] (S3: tbl_df/tbl/data.frame)
##   ..$ Anno: chr [1:9] "2015" "2016" "2017" "2018" ...
##   ..$ CR4 : num [1:9] 91.8 91.2 91.6 91.9 92.4 ...
##   ..$ HHI : num [1:9] 5561 5268 5297 5178 5081 ...
##   ..$ Gini: num [1:9] 0.854 0.855 0.858 0.858 0.854 ...
##  $ Indici_NACE_492: tibble [9 × 4] (S3: tbl_df/tbl/data.frame)
##   ..$ Anno: chr [1:9] "2015" "2016" "2017" "2018" ...
##   ..$ CR4 : num [1:9] 67 68.1 80.1 79.6 77.6 ...
##   ..$ HHI : num [1:9] 1369 1476 3618 3419 3049 ...
##   ..$ Gini: num [1:9] 0.678 0.7 0.792 0.803 0.799 ...
##  $ Indici_NACE_493: tibble [9 × 4] (S3: tbl_df/tbl/data.frame)
##   ..$ Anno: chr [1:9] "2015" "2016" "2017" "2018" ...
##   ..$ CR4 : num [1:9] 20.2 19.4 19.1 17.2 16.2 ...
##   ..$ HHI : num [1:9] 159 147 139 133 124 ...
##   ..$ Gini: num [1:9] 0.861 0.866 0.869 0.864 0.863 ...
##  $ Indici_NACE_494: tibble [9 × 4] (S3: tbl_df/tbl/data.frame)
##   ..$ Anno: chr [1:9] "2015" "2016" "2017" "2018" ...
##   ..$ CR4 : num [1:9] 7.54 7.61 7.71 7.65 7.43 ...
##   ..$ HHI : num [1:9] 29.3 29.3 29.7 28.8 27.9 ...
##   ..$ Gini: num [1:9] 0.798 0.795 0.797 0.796 0.797 ...
##  $ Indici_NACE_495: tibble [9 × 4] (S3: tbl_df/tbl/data.frame)
##   ..$ Anno: chr [1:9] "2015" "2016" "2017" "2018" ...
##   ..$ CR4 : num [1:9] 94.3 94.5 90.5 93.9 93.9 ...
##   ..$ HHI : num [1:9] 4514 4205 3277 4242 4473 ...
##   ..$ Gini: num [1:9] 0.88 0.887 0.839 0.87 0.875 ...
##  $ Indici_NACE_501: tibble [9 × 4] (S3: tbl_df/tbl/data.frame)
##   ..$ Anno: chr [1:9] "2015" "2016" "2017" "2018" ...
##   ..$ CR4 : num [1:9] 87.5 87.5 88.4 88.1 88.7 ...
##   ..$ HHI : num [1:9] 5381 5493 5484 5593 5785 ...
##   ..$ Gini: num [1:9] 0.981 0.981 0.982 0.983 0.983 ...
##  $ Indici_NACE_502: tibble [9 × 4] (S3: tbl_df/tbl/data.frame)
##   ..$ Anno: chr [1:9] "2015" "2016" "2017" "2018" ...
##   ..$ CR4 : num [1:9] 54.3 55.4 54.2 51.9 51 ...
##   ..$ HHI : num [1:9] 1029 1012 1014 893 879 ...
##   ..$ Gini: num [1:9] 0.838 0.83 0.837 0.847 0.859 ...
##  $ Indici_NACE_503: tibble [9 × 4] (S3: tbl_df/tbl/data.frame)
##   ..$ Anno: chr [1:9] "2015" "2016" "2017" "2018" ...
##   ..$ CR4 : num [1:9] 86.1 86.5 85.9 85.8 84.9 ...
##   ..$ HHI : num [1:9] 3272 3253 3198 3219 3121 ...
##   ..$ Gini: num [1:9] 0.921 0.924 0.922 0.923 0.92 ...
##  $ Indici_NACE_504: tibble [9 × 4] (S3: tbl_df/tbl/data.frame)
##   ..$ Anno: chr [1:9] "2015" "2016" "2017" "2018" ...
##   ..$ CR4 : num [1:9] 56.1 52.6 48.6 52 47.8 ...
##   ..$ HHI : num [1:9] 1018 990 885 895 852 ...
##   ..$ Gini: num [1:9] 0.611 0.606 0.599 0.598 0.583 ...
##  $ Indici_NACE_511: tibble [9 × 4] (S3: tbl_df/tbl/data.frame)
##   ..$ Anno: chr [1:9] "2015" "2016" "2017" "2018" ...
##   ..$ CR4 : num [1:9] 87.6 68.8 76.1 73.3 79.8 ...
##   ..$ HHI : num [1:9] 5616 1650 1619 1455 1693 ...
##   ..$ Gini: num [1:9] 0.959 0.897 0.902 0.892 0.906 ...
##  $ Indici_NACE_512: tibble [9 × 4] (S3: tbl_df/tbl/data.frame)
##   ..$ Anno: chr [1:9] "2015" "2016" "2017" "2018" ...
##   ..$ CR4 : num [1:9] 88.2 88 88.7 88.2 87.4 ...
##   ..$ HHI : num [1:9] 2753 2980 3162 3982 4044 ...
##   ..$ Gini: num [1:9] 0.787 0.783 0.775 0.789 0.774 ...
##  $ Indici_NACE_521: tibble [9 × 4] (S3: tbl_df/tbl/data.frame)
##   ..$ Anno: chr [1:9] "2015" "2016" "2017" "2018" ...
##   ..$ CR4 : num [1:9] 33.7 31.1 30.6 29.7 27.9 ...
##   ..$ HHI : num [1:9] 465 362 343 313 282 ...
##   ..$ Gini: num [1:9] 0.857 0.851 0.853 0.852 0.85 ...
##  $ Indici_NACE_522: tibble [9 × 4] (S3: tbl_df/tbl/data.frame)
##   ..$ Anno: chr [1:9] "2015" "2016" "2017" "2018" ...
##   ..$ CR4 : num [1:9] 14 14 15.3 15.1 15 ...
##   ..$ HHI : num [1:9] 104.9 101.5 103.5 101.6 99.7 ...
##   ..$ Gini: num [1:9] 0.881 0.884 0.889 0.89 0.892 ...
##  $ Indici_NACE_531: tibble [9 × 4] (S3: tbl_df/tbl/data.frame)
##   ..$ Anno: chr [1:9] "2015" "2016" "2017" "2018" ...
##   ..$ CR4 : num [1:9] 100 100 100 100 100 ...
##   ..$ HHI : num [1:9] 9996 9985 9973 9972 9973 ...
##   ..$ Gini: num [1:9] 0.947 0.95 0.952 0.95 0.944 ...
##  $ Indici_NACE_532: tibble [9 × 4] (S3: tbl_df/tbl/data.frame)
##   ..$ Anno: chr [1:9] "2015" "2016" "2017" "2018" ...
##   ..$ CR4 : num [1:9] 76.7 76.5 70.9 71.9 73.9 ...
##   ..$ HHI : num [1:9] 1642 1678 1535 1545 1648 ...
##   ..$ Gini: num [1:9] 0.951 0.951 0.943 0.95 0.956 ...

Grafico di Serie Temporali per Indici di Concentrazione basato sui Ricavi di Vendita

# Preparazione dei Dati per il Grafico

# Combina i dataset in un unico data frame, aggiungendo un identificatore per ciascun settore
df_indici <- bind_rows(lista_indici_ricavi, .id = "Name")

# Unisce le informazioni sui settori
df_indici <- df_indici %>%
  left_join(Settori, by = "Name")

# Trasforma la colonna Anno in formato Data
df_indici <- df_indici %>%
  mutate(Anno = as.Date(paste0(Anno, "-01-01")))
# View(df_indici)

# Grafico per CR4
p1 <- ggplot(df_indici, aes(x = Anno, y = CR4, color = Settore)) +
  geom_line(size = 1) +                          # Linee per le serie temporali
  geom_point(size = 2) +                         # Punti per gli anni
  labs(title = "Serie Temporale dell'Indice CR4 per Settore",
       x = "Anno", y = "CR4 (%)") +              # Titolo e etichette degli assi
  theme_minimal() +                              # Tema grafico minimale
  theme(legend.position = "bottom") +            # Posizione della legenda
  guides(color = guide_legend(ncol = 2))         # Legenda in due colonne per leggibilità
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
# Visualizza il grafico CR4 come interattivo
ggplotly(p1)
# Grafico per HHI
p2 <- ggplot(df_indici, aes(x = Anno, y = HHI, color = Settore)) +
  geom_line(size = 1) +
  geom_point(size = 2) +
  labs(title = "Serie Temporale dell'Indice HHI per Settore",
       x = "Anno", y = "Indice HHI") +
  theme_minimal() +
  theme(legend.position = "bottom") +
  guides(color = guide_legend(ncol = 2))

# Visualizza il grafico HHI come interattivo
ggplotly(p2)
# Grafico per Gini
p3 <- ggplot(df_indici, aes(x = Anno, y = Gini, color = Settore)) +
  geom_line(size = 1) +
  geom_point(size = 2) +
  labs(title = "Serie Temporale dell'Indice di Gini per Settore",
       x = "Anno", y = "Indice di Gini") +
  theme_minimal() +
  theme(legend.position = "bottom") +
  guides(color = guide_legend(ncol = 2))

# Visualizza il grafico Gini come interattivo
ggplotly(p3)

Curva di Lorenz basato sui Ricavi di Vendita

# Definizione della funzione
calcola_lorenz_per_anno_ricavi <- function(df, nome_df) {
  # Ottieni l'elenco degli anni unici
  anni <- unique(df$Anno)
  
  for (anno in anni) {
    # Filtra i dati per l'anno corrente
    dati_anno <- df %>% filter(Anno == anno) %>% pull(Ricavi_delle_vendite_migl_EUR)
    
    # Traccia la curva di Lorenz per l'anno
    plot(
      Lc(dati_anno), 
      main = paste("Curva di Lorenz -", nome_df, "Anno", anno),
      xlab = "Percentuale cumulativa delle imprese",
      ylab = "Percentuale cumulativa dei ricavi",
      col = "blue", lwd = 2
    )
    
    # Aggiungi la linea di perfetta uguaglianza
    abline(0, 1, col = "red", lty = 2, lwd = 2)
  }
}

# Visualizzazione di Curve di Lorenz

par(mfrow = c(2, 2))  # Dividi la finestra grafica in un layout 2x2

# Applica la funzione a ciascun dataset nella lista
lapply(names(lista_panel), function(nome) {
  calcola_lorenz_per_anno_ricavi(lista_panel[[nome]], nome)
})

## [[1]]
## NULL
## 
## [[2]]
## NULL
## 
## [[3]]
## NULL
## 
## [[4]]
## NULL
## 
## [[5]]
## NULL
## 
## [[6]]
## NULL
## 
## [[7]]
## NULL
## 
## [[8]]
## NULL
## 
## [[9]]
## NULL
## 
## [[10]]
## NULL
## 
## [[11]]
## NULL
## 
## [[12]]
## NULL
## 
## [[13]]
## NULL
## 
## [[14]]
## NULL
## 
## [[15]]
## NULL
par(mfrow = c(1, 1))

ANALISI DELL’IMPATTO DEGLI INDICI DI CONCENTRAZIONE SULLE PERFORMANCE DELLE IMPRESE

# combiniamo le medie annuali delle variabili di performance con gli indici di 
# concentrazione in un unico data frame, pronto per l’analisi statistica.

# Funzione per calcolare la media annuale delle variabili

# Elenco delle variabili su cui calcolare la media
variabili_da_calcolare <- c(
  "Totale_Attività_migl_EUR", "EBITDA_Vendite", "Ricavi_delle_vendite_migl_EUR", 
  "EBITDA_migl_EUR", "Utile_Netto_migl_EUR", "Redditività_delle_vendite_ROS", 
  "Redditività_del_totale_attivo_ROA", "Redditività_del_capitale_proprio_ROE", 
  "Debt_Equity_ratio", 
  "Capitale_sociale_migl_EUR", 
  "TOTALE_DEBITI_migl_EUR", "Dipendenti"
)

# Definisci la funzione per calcolare le medie annuali
calcola_media_per_anno <- function(df) {
  # Converte le variabili specificate in numerico
  df <- df %>%
    mutate(across(all_of(variabili_da_calcolare), as.numeric))
  
  # Raggruppa per anno e calcola la media
  df %>%
    group_by(Anno) %>%
    summarise(across(all_of(variabili_da_calcolare), mean, na.rm = TRUE)) %>%
    ungroup()
}

# Applica la funzione a ciascun data frame nella lista
lista_media_per_anno <- lapply(lista_panel, calcola_media_per_anno)
## Warning: There were 3 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `across(all_of(variabili_da_calcolare), as.numeric)`.
## Caused by warning:
## ! NA introdotti per coercizione
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 2 remaining warnings.
## Warning: There was 1 warning in `summarise()`.
## ℹ In argument: `across(all_of(variabili_da_calcolare), mean, na.rm = TRUE)`.
## ℹ In group 1: `Anno = "2015"`.
## Caused by warning:
## ! The `...` argument of `across()` is deprecated as of dplyr 1.1.0.
## Supply arguments directly to `.fns` through an anonymous function instead.
## 
##   # Previously
##   across(a:b, mean, na.rm = TRUE)
## 
##   # Now
##   across(a:b, \(x) mean(x, na.rm = TRUE))
## Warning: There were 3 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `across(all_of(variabili_da_calcolare), as.numeric)`.
## Caused by warning:
## ! NA introdotti per coercizione
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 2 remaining warnings.
## Warning: There were 5 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `across(all_of(variabili_da_calcolare), as.numeric)`.
## Caused by warning:
## ! NA introdotti per coercizione
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 4 remaining warnings.
## There were 5 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `across(all_of(variabili_da_calcolare), as.numeric)`.
## Caused by warning:
## ! NA introdotti per coercizione
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 4 remaining warnings.
## Warning: There were 4 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `across(all_of(variabili_da_calcolare), as.numeric)`.
## Caused by warning:
## ! NA introdotti per coercizione
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 3 remaining warnings.
## There were 4 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `across(all_of(variabili_da_calcolare), as.numeric)`.
## Caused by warning:
## ! NA introdotti per coercizione
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 3 remaining warnings.
## There were 4 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `across(all_of(variabili_da_calcolare), as.numeric)`.
## Caused by warning:
## ! NA introdotti per coercizione
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 3 remaining warnings.
## Warning: There were 3 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `across(all_of(variabili_da_calcolare), as.numeric)`.
## Caused by warning:
## ! NA introdotti per coercizione
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 2 remaining warnings.
## There were 3 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `across(all_of(variabili_da_calcolare), as.numeric)`.
## Caused by warning:
## ! NA introdotti per coercizione
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 2 remaining warnings.
## Warning: There were 4 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `across(all_of(variabili_da_calcolare), as.numeric)`.
## Caused by warning:
## ! NA introdotti per coercizione
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 3 remaining warnings.
## There were 4 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `across(all_of(variabili_da_calcolare), as.numeric)`.
## Caused by warning:
## ! NA introdotti per coercizione
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 3 remaining warnings.
## Warning: There were 5 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `across(all_of(variabili_da_calcolare), as.numeric)`.
## Caused by warning:
## ! NA introdotti per coercizione
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 4 remaining warnings.
## There were 5 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `across(all_of(variabili_da_calcolare), as.numeric)`.
## Caused by warning:
## ! NA introdotti per coercizione
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 4 remaining warnings.
## Warning: There were 3 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `across(all_of(variabili_da_calcolare), as.numeric)`.
## Caused by warning:
## ! NA introdotti per coercizione
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 2 remaining warnings.
## Warning: There were 4 warnings in `mutate()`.
## The first warning was:
## ℹ In argument: `across(all_of(variabili_da_calcolare), as.numeric)`.
## Caused by warning:
## ! NA introdotti per coercizione
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 3 remaining warnings.
# Combinazione dei risultati

# Combina le medie annuali in un unico data frame, aggiungendo un identificatore "NACE"
lista_panel_completo <- bind_rows(lista_media_per_anno, .id = "NACE")

# Unisce le informazioni settoriali
lista_panel_completo <- lista_panel_completo %>%
  right_join(Settori, by = "NACE")

# Combina gli indici di concentrazione in un unico data frame
df_indici_ricavi <- bind_rows(lista_indici_ricavi, .id = "Name")

# Unisce le medie annuali con gli indici di concentrazione
df_final <- lista_panel_completo %>%
  left_join(df_indici_ricavi, by = c("Anno", "Name"))

#View(df_final)
summary(df_final)
##      NACE               Anno           Totale_Attività_migl_EUR
##  Length:135         Length:135         Min.   :     504        
##  Class :character   Class :character   1st Qu.:    5277        
##  Mode  :character   Mode  :character   Median :   11963        
##                                        Mean   :  574691        
##                                        3rd Qu.:   44547        
##                                        Max.   :13763787        
##  EBITDA_Vendite    Ricavi_delle_vendite_migl_EUR EBITDA_migl_EUR   
##  Min.   :-60.712   Min.   :    589.1             Min.   : -3971.9  
##  1st Qu.:-10.434   1st Qu.:   3208.3             1st Qu.:   193.9  
##  Median :  1.449   Median :   9773.8             Median :   491.3  
##  Mean   : -1.722   Mean   :  82398.5             Mean   : 18521.4  
##  3rd Qu.:  7.001   3rd Qu.:  37437.4             3rd Qu.:  4042.2  
##  Max.   : 37.337   Max.   :1236199.1             Max.   :264724.8  
##  Utile_Netto_migl_EUR Redditività_delle_vendite_ROS
##  Min.   :-18461.82    Min.   :-9.778               
##  1st Qu.:   -21.65    1st Qu.: 2.380               
##  Median :    74.16    Median : 3.455               
##  Mean   :  7173.68    Mean   : 3.403               
##  3rd Qu.:  1519.63    3rd Qu.: 4.853               
##  Max.   :173852.34    Max.   :10.603               
##  Redditività_del_totale_attivo_ROA Redditività_del_capitale_proprio_ROE
##  Min.   :-27.183                   Min.   :-25.318                     
##  1st Qu.: -6.791                   1st Qu.:  3.772                     
##  Median : -1.089                   Median :  9.237                     
##  Mean   : -2.057                   Mean   :  8.247                     
##  3rd Qu.:  2.111                   3rd Qu.: 14.108                     
##  Max.   : 14.042                   Max.   : 31.296                     
##  Debt_Equity_ratio  Capitale_sociale_migl_EUR TOTALE_DEBITI_migl_EUR
##  Min.   :-21.7913   Min.   :    20.22         Min.   :     266      
##  1st Qu.:  0.5299   1st Qu.:   565.90         1st Qu.:    2612      
##  Median :  1.1028   Median :  1241.61         Median :    6952      
##  Mean   :  1.0999   Mean   : 17579.21         Mean   :  480248      
##  3rd Qu.:  1.6782   3rd Qu.:  7097.61         3rd Qu.:   29868      
##  Max.   :  8.9253   Max.   :163280.55         Max.   :12697283      
##    Dipendenti            Name             Settore               CR4        
##  Min.   :    6.808   Length:135         Length:135         Min.   : 7.434  
##  1st Qu.:   23.146   Class :character   Class :character   1st Qu.:30.830  
##  Median :   34.917   Mode  :character   Mode  :character   Median :74.468  
##  Mean   :  734.377                                         Mean   :62.237  
##  3rd Qu.:  103.098                                         3rd Qu.:88.587  
##  Max.   :17777.667                                         Max.   :99.993  
##       HHI               Gini       
##  Min.   :  27.89   Min.   :0.5795  
##  1st Qu.: 352.35   1st Qu.:0.8239  
##  Median :1650.08   Median :0.8588  
##  Mean   :2689.09   Mean   :0.8550  
##  3rd Qu.:4229.20   3rd Qu.:0.9211  
##  Max.   :9995.52   Max.   :0.9832

Trasformazione delle Variabili Monetarie

In questa sezione, trasformiamo alcune variabili monetarie in logaritmo naturale per normalizzare le distribuzioni ed evidenziare relazioni proporzionali nelle analisi successive.

# Calcolo del logaritmo di alcune variabili monetarie
df_final$log_Totale_Attività <- log(df_final$Totale_Attività_migl_EUR)
df_final$log_Capitale_sociale <- log(df_final$Capitale_sociale_migl_EUR)
df_final$log_TOTALE_DEBITI <- log(df_final$TOTALE_DEBITI_migl_EUR)

# Verifica delle trasformazioni
head(df_final[, c("Totale_Attività_migl_EUR", "log_Totale_Attività",
                  "Capitale_sociale_migl_EUR", "log_Capitale_sociale",
                  "TOTALE_DEBITI_migl_EUR", "log_TOTALE_DEBITI")])
## # A tibble: 6 × 6
##   Totale_Attività_migl_EUR log_Totale_Attività Capitale_sociale_migl_EUR
##                      <dbl>               <dbl>                     <dbl>
## 1                  910732.                13.7                   104868.
## 2                  865574.                13.7                    99260.
## 3                  811943.                13.6                    87046.
## 4                  774091.                13.6                    88665.
## 5                  920701.                13.7                    97974.
## 6                  882997.                13.7                    89191.
## # ℹ 3 more variables: log_Capitale_sociale <dbl>, TOTALE_DEBITI_migl_EUR <dbl>,
## #   log_TOTALE_DEBITI <dbl>

STATISTICA DESCRITTIVA

Questa sezione calcola le statistiche descrittive per le principali variabili numeriche del dataset.

# Caricamento del pacchetto richiesto
library(dplyr)

# Seleziona solo le colonne numeriche di interesse
df_stat <- df_final %>% select(
  CR4, HHI, Gini, 
  Redditività_delle_vendite_ROS, Redditività_del_totale_attivo_ROA, Redditività_del_capitale_proprio_ROE,
  EBITDA_Vendite, Debt_Equity_ratio,  
  log_Totale_Attività, log_TOTALE_DEBITI, log_Capitale_sociale
)


# Calcolo delle statistiche descrittive
statistiche_descrittive <- data.frame(
  Media = sapply(df_stat, function(x) round(mean(x, na.rm = TRUE), 3)),
  Deviazione_Standard = sapply(df_stat, function(x) round(sd(x, na.rm = TRUE), 3)),
  Minimo = sapply(df_stat, function(x) round(min(x, na.rm = TRUE), 3)),
  Massimo = sapply(df_stat, function(x) round(max(x, na.rm = TRUE), 3)),
  Mediana = sapply(df_stat, function(x) round(median(x, na.rm = TRUE), 3)),
  Q1 = sapply(df_stat, function(x) round(quantile(x, probs = 0.25, na.rm = TRUE), 3)),
  Q3 = sapply(df_stat, function(x) round(quantile(x, probs = 0.75, na.rm = TRUE), 3))
)

# Visualizza le statistiche descrittive
#print(statistiche_descrittive)
#View(statistiche_descrittive)
knitr::kable(statistiche_descrittive, caption = "Statistiche Descrittive delle Variabili Numeriche")
Statistiche Descrittive delle Variabili Numeriche
Media Deviazione_Standard Minimo Massimo Mediana Q1 Q3
CR4 62.237 31.255 7.434 99.993 74.468 30.830 88.587
HHI 2689.086 2674.730 27.891 9995.524 1650.082 352.351 4229.205
Gini 0.855 0.093 0.579 0.983 0.859 0.824 0.921
Redditività_delle_vendite_ROS 3.403 2.670 -9.778 10.603 3.455 2.380 4.853
Redditività_del_totale_attivo_ROA -2.057 7.088 -27.184 14.042 -1.089 -6.791 2.111
Redditività_del_capitale_proprio_ROE 8.247 7.950 -25.318 31.296 9.237 3.772 14.108
EBITDA_Vendite -1.722 17.541 -60.712 37.337 1.449 -10.434 7.001
Debt_Equity_ratio 1.100 2.894 -21.791 8.925 1.103 0.530 1.678
log_Totale_Attività 10.055 2.468 6.222 16.438 9.390 8.571 10.704
log_TOTALE_DEBITI 9.544 2.563 5.582 16.357 8.847 7.868 10.305
log_Capitale_sociale 7.485 2.382 3.007 12.003 7.124 6.338 8.867
# write.xlsx(statistiche_descrittive, "C:/UNIVERSITA' magistrale/ANNO 2/PERIODO 2/ECONOMIA E DINAMICA INDUSTRIALE/Progetto R/Nostro lavoro/stat_des.xlsx")

CALCOLO DELLA MATRICE DI CORRELAZIONE

Questa sezione calcola la matrice di correlazione per le variabili numeriche selezionate e ne visualizza i risultati tramite un grafico.

# Calcola la matrice di correlazione
# View(df_stat)
cor_matrix <- cor(df_stat, use = "complete.obs", method="pearson")
cor_spearman <- cor(df_stat, use = "complete.obs", method = "spearman")

# Visualizza la matrice di correlazione
print(cor_matrix)
##                                               CR4         HHI        Gini
## CR4                                   1.000000000  0.81150481  0.28756618
## HHI                                   0.811504812  1.00000000  0.35851011
## Gini                                  0.287566180  0.35851011  1.00000000
## Redditività_delle_vendite_ROS         0.004417363  0.05882580 -0.35713489
## Redditività_del_totale_attivo_ROA    -0.058742314 -0.01891441 -0.18015527
## Redditività_del_capitale_proprio_ROE -0.315060147 -0.19391384 -0.17233780
## EBITDA_Vendite                       -0.143974995 -0.10430481 -0.11360843
## Debt_Equity_ratio                    -0.013336892  0.09592133  0.03847883
## log_Totale_Attività                   0.621571711  0.81034462  0.36697238
## log_TOTALE_DEBITI                     0.617876374  0.80399310  0.35618830
## log_Capitale_sociale                  0.591291934  0.70310566  0.34966355
##                                      Redditività_delle_vendite_ROS
## CR4                                                    0.004417363
## HHI                                                    0.058825799
## Gini                                                  -0.357134892
## Redditività_delle_vendite_ROS                          1.000000000
## Redditività_del_totale_attivo_ROA                      0.535411155
## Redditività_del_capitale_proprio_ROE                   0.577578862
## EBITDA_Vendite                                         0.504366455
## Debt_Equity_ratio                                      0.054947195
## log_Totale_Attività                                    0.121414433
## log_TOTALE_DEBITI                                      0.108361376
## log_Capitale_sociale                                   0.051296926
##                                      Redditività_del_totale_attivo_ROA
## CR4                                                        -0.05874231
## HHI                                                        -0.01891441
## Gini                                                       -0.18015527
## Redditività_delle_vendite_ROS                               0.53541116
## Redditività_del_totale_attivo_ROA                           1.00000000
## Redditività_del_capitale_proprio_ROE                        0.37084487
## EBITDA_Vendite                                              0.44133837
## Debt_Equity_ratio                                           0.10365642
## log_Totale_Attività                                         0.06380508
## log_TOTALE_DEBITI                                           0.05244256
## log_Capitale_sociale                                        0.05320432
##                                      Redditività_del_capitale_proprio_ROE
## CR4                                                           -0.31506015
## HHI                                                           -0.19391384
## Gini                                                          -0.17233780
## Redditività_delle_vendite_ROS                                  0.57757886
## Redditività_del_totale_attivo_ROA                              0.37084487
## Redditività_del_capitale_proprio_ROE                           1.00000000
## EBITDA_Vendite                                                 0.38527475
## Debt_Equity_ratio                                              0.07914757
## log_Totale_Attività                                           -0.19997085
## log_TOTALE_DEBITI                                             -0.18858151
## log_Capitale_sociale                                          -0.34556858
##                                      EBITDA_Vendite Debt_Equity_ratio
## CR4                                   -0.1439749945       -0.01333689
## HHI                                   -0.1043048078        0.09592133
## Gini                                  -0.1136084286        0.03847883
## Redditività_delle_vendite_ROS          0.5043664551        0.05494720
## Redditività_del_totale_attivo_ROA      0.4413383662        0.10365642
## Redditività_del_capitale_proprio_ROE   0.3852747476        0.07914757
## EBITDA_Vendite                         1.0000000000        0.13097965
## Debt_Equity_ratio                      0.1309796450        1.00000000
## log_Totale_Attività                    0.0557453434        0.10871358
## log_TOTALE_DEBITI                      0.0549345243        0.11113685
## log_Capitale_sociale                  -0.0006203153        0.06074214
##                                      log_Totale_Attività log_TOTALE_DEBITI
## CR4                                           0.62157171        0.61787637
## HHI                                           0.81034462        0.80399310
## Gini                                          0.36697238        0.35618830
## Redditività_delle_vendite_ROS                 0.12141443        0.10836138
## Redditività_del_totale_attivo_ROA             0.06380508        0.05244256
## Redditività_del_capitale_proprio_ROE         -0.19997085       -0.18858151
## EBITDA_Vendite                                0.05574534        0.05493452
## Debt_Equity_ratio                             0.10871358        0.11113685
## log_Totale_Attività                           1.00000000        0.99635088
## log_TOTALE_DEBITI                             0.99635088        1.00000000
## log_Capitale_sociale                          0.95253192        0.94321817
##                                      log_Capitale_sociale
## CR4                                          0.5912919335
## HHI                                          0.7031056606
## Gini                                         0.3496635537
## Redditività_delle_vendite_ROS                0.0512969263
## Redditività_del_totale_attivo_ROA            0.0532043188
## Redditività_del_capitale_proprio_ROE        -0.3455685812
## EBITDA_Vendite                              -0.0006203153
## Debt_Equity_ratio                            0.0607421419
## log_Totale_Attività                          0.9525319177
## log_TOTALE_DEBITI                            0.9432181661
## log_Capitale_sociale                         1.0000000000
print(cor_spearman)
##                                              CR4         HHI        Gini
## CR4                                   1.00000000  0.96939323  0.33744513
## HHI                                   0.96939323  1.00000000  0.36841284
## Gini                                  0.33744513  0.36841284  1.00000000
## Redditività_delle_vendite_ROS         0.10456541  0.06174032 -0.35042435
## Redditività_del_totale_attivo_ROA     0.04859526 -0.02706565 -0.29984880
## Redditività_del_capitale_proprio_ROE -0.26711053 -0.33438201 -0.07280753
## EBITDA_Vendite                       -0.05443371 -0.14942932 -0.24822944
## Debt_Equity_ratio                    -0.16181836 -0.10159984  0.07592918
## log_Totale_Attività                   0.72110038  0.73189445  0.23133353
## log_TOTALE_DEBITI                     0.71255487  0.71374012  0.21439372
## log_Capitale_sociale                  0.72022037  0.72370786  0.18165190
##                                      Redditività_delle_vendite_ROS
## CR4                                                     0.10456541
## HHI                                                     0.06174032
## Gini                                                   -0.35042435
## Redditività_delle_vendite_ROS                           1.00000000
## Redditività_del_totale_attivo_ROA                       0.60748707
## Redditività_del_capitale_proprio_ROE                    0.42523168
## EBITDA_Vendite                                          0.51272559
## Debt_Equity_ratio                                      -0.14590284
## log_Totale_Attività                                     0.04555165
## log_TOTALE_DEBITI                                       0.02975807
## log_Capitale_sociale                                    0.01885683
##                                      Redditività_del_totale_attivo_ROA
## CR4                                                         0.04859526
## HHI                                                        -0.02706565
## Gini                                                       -0.29984880
## Redditività_delle_vendite_ROS                               0.60748707
## Redditività_del_totale_attivo_ROA                           1.00000000
## Redditività_del_capitale_proprio_ROE                        0.39420057
## EBITDA_Vendite                                              0.53876207
## Debt_Equity_ratio                                          -0.07689006
## log_Totale_Attività                                        -0.01735440
## log_TOTALE_DEBITI                                          -0.03309433
## log_Capitale_sociale                                       -0.03366038
##                                      Redditività_del_capitale_proprio_ROE
## CR4                                                           -0.26711053
## HHI                                                           -0.33438201
## Gini                                                          -0.07280753
## Redditività_delle_vendite_ROS                                  0.42523168
## Redditività_del_totale_attivo_ROA                              0.39420057
## Redditività_del_capitale_proprio_ROE                           1.00000000
## EBITDA_Vendite                                                 0.38195298
## Debt_Equity_ratio                                              0.04313725
## log_Totale_Attività                                           -0.32213443
## log_TOTALE_DEBITI                                             -0.31850551
## log_Capitale_sociale                                          -0.42088641
##                                      EBITDA_Vendite Debt_Equity_ratio
## CR4                                    -0.054433714       -0.16181836
## HHI                                    -0.149429324       -0.10159984
## Gini                                   -0.248229441        0.07592918
## Redditività_delle_vendite_ROS           0.512725588       -0.14590284
## Redditività_del_totale_attivo_ROA       0.538762072       -0.07689006
## Redditività_del_capitale_proprio_ROE    0.381952980        0.04313725
## EBITDA_Vendite                          1.000000000       -0.04806848
## Debt_Equity_ratio                      -0.048068481        1.00000000
## log_Totale_Attività                    -0.010140474       -0.07006146
## log_TOTALE_DEBITI                      -0.003053361       -0.06347186
## log_Capitale_sociale                   -0.026885379       -0.12322303
##                                      log_Totale_Attività log_TOTALE_DEBITI
## CR4                                           0.72110038       0.712554873
## HHI                                           0.73189445       0.713740123
## Gini                                          0.23133353       0.214393718
## Redditività_delle_vendite_ROS                 0.04555165       0.029758072
## Redditività_del_totale_attivo_ROA            -0.01735440      -0.033094332
## Redditività_del_capitale_proprio_ROE         -0.32213443      -0.318505512
## EBITDA_Vendite                               -0.01014047      -0.003053361
## Debt_Equity_ratio                            -0.07006146      -0.063471856
## log_Totale_Attività                           1.00000000       0.991766657
## log_TOTALE_DEBITI                             0.99176666       1.000000000
## log_Capitale_sociale                          0.96601526       0.960808415
##                                      log_Capitale_sociale
## CR4                                            0.72022037
## HHI                                            0.72370786
## Gini                                           0.18165190
## Redditività_delle_vendite_ROS                  0.01885683
## Redditività_del_totale_attivo_ROA             -0.03366038
## Redditività_del_capitale_proprio_ROE          -0.42088641
## EBITDA_Vendite                                -0.02688538
## Debt_Equity_ratio                             -0.12322303
## log_Totale_Attività                            0.96601526
## log_TOTALE_DEBITI                              0.96080841
## log_Capitale_sociale                           1.00000000
# Grafico della Matrice di Correlazione

# Carica il pacchetto necessario
library(corrplot)
## corrplot 0.92 loaded
new_names <- c("CR4", "HHI", "Gini", "ROS", "ROA", 
               "ROE", "EBITDA", "Debt_Equity", "log_Tot_Att", "log_Tot_Debt", "log_Cap_Soc")
colnames(cor_matrix) <- new_names
rownames(cor_matrix) <- new_names

# Genera il grafico di correlazione
corrplot::corrplot(cor_matrix, method = "color", type = "upper", 
                   tl.col = "black", tl.srt = 60,   # Colore e orientamento delle etichette
                   tl.cex = 0.7,  # Dimensione etichette
                   number.cex = 0.7,  # Dimensione numeri
                   addCoef.col = "black", mar = c(0, 0, 0, 0)) # Mostra i coefficienti di correlazione

colnames(cor_spearman) <- new_names
rownames(cor_spearman) <- new_names
corrplot::corrplot(cor_spearman, method = "color", type = "upper", 
                   tl.col = "black", tl.srt = 60,   # Colore e orientamento delle etichette
                   tl.cex = 0.7,  # Dimensione etichette
                   number.cex = 0.7,  # Dimensione numeri
                   addCoef.col = "black", mar = c(0, 0, 0, 0)) # Mostra i coefficienti di correlazione

PREPARAZIONE DEL DATASET PANEL

In questa sezione, creiamo un dataset in formato panel, selezionando solo le variabili rilevanti per l’analisi delle performance aziendali e degli indici di concentrazione.

# Seleziona le variabili rilevanti per l'analisi
df_panel_data <- df_final %>% select(
  Anno, NACE, Settore, Dipendenti, CR4, HHI, Gini, 
  Redditività_delle_vendite_ROS, Redditività_del_totale_attivo_ROA, Redditività_del_capitale_proprio_ROE,
  EBITDA_Vendite, Debt_Equity_ratio,  
  log_Totale_Attività, log_TOTALE_DEBITI, log_Capitale_sociale
)
# View(df_panel_data)

Serie Temporali delle Variabili di Performance

In questa sezione, creiamo grafici delle serie temporali per quattro variabili di performance aziendale, suddivise per settore, e li rendiamo interattivi con plotly.

# Prepara il dataset
df_performace <- df_panel_data %>%
  mutate(Anno = as.Date(paste0(Anno, "-01-01")))

# Lista delle variabili di performance
performance_vars <- c("Redditività_delle_vendite_ROS", "Redditività_del_capitale_proprio_ROE",
                      "Redditività_del_totale_attivo_ROA", "EBITDA_Vendite")

# Crea una lista per salvare i grafici
plots <- list()

# Ciclo per generare un grafico per ogni variabile di performance
for (var in performance_vars) {
  p <- ggplot(df_performace, aes(x = Anno, y = .data[[var]], color = Settore)) +
    geom_line(size = 1) +
    geom_point(size = 2) +
    labs(title = paste("Serie Temporale di", var, "per Settore"),
         x = "Anno", y = var) +
    theme_minimal() +
    theme(legend.position = "bottom") +
    guides(color = guide_legend(ncol = 2))  # Organizza la legenda in 2 colonne
  
  # Converte in grafico interattivo e salva nella lista
  plots[[var]] <- ggplotly(p)
}

# Visualizza i grafici
plots$Redditività_delle_vendite_ROS  # Visualizza il grafico di una variabile
plots$Redditività_del_capitale_proprio_ROE  
plots$Redditività_del_totale_attivo_ROA  
plots$EBITDA_Vendite

RELAZIONE TRA INDICI E VARIABILI DI PERFORMANCE AZIENDALI

Questa sezione esplora la relazione tra gli indici di concentrazione e le variabili di performance aziendale tramite un grafico a griglia con regressioni lineari.

# Caricamento del pacchetto necessario
library(tidyr)
library(ggplot2)

# Trasformazione in formato long

colnames(df_panel_data) <- gsub("Redditività_delle_vendite_ROS", "ROS", colnames(df_panel_data))
colnames(df_panel_data) <- gsub("Redditività_del_capitale_proprio_ROE", "ROE", colnames(df_panel_data))
colnames(df_panel_data) <- gsub("Redditività_del_totale_attivo_ROA", "ROA", colnames(df_panel_data))

df_long <- df_panel_data %>%
  pivot_longer(cols = c("ROS", "ROE", 
                        "ROA", "EBITDA_Vendite"),
               names_to = "Performance", values_to = "ValorePerformance") %>%
  pivot_longer(cols = c("CR4", "HHI", "Gini"), 
               names_to = "Indice", values_to = "ValoreIndice")
#View(df_long)

# Creazione del grafico con facet_grid
p <- ggplot(df_long, aes(x = ValoreIndice, y = ValorePerformance)) +
  geom_point(alpha = 0.6) +  # Punti con trasparenza per evidenziare densità
  geom_smooth(method = "lm", color = "blue", se = TRUE) +  # Aggiunge retta di regressione
  labs(title = "Relazione tra Indici e Variabili di Performance Aziendale",
       x = "Valore Indice",
       y = "Valore Performance") +
  theme_minimal() +
  facet_grid(Performance ~ Indice, scales = "free")  # Crea una griglia con righe e colonne

# Visualizza il grafico
print(p)
## `geom_smooth()` using formula = 'y ~ x'

colnames(df_panel_data) <- gsub("ROS", "Redditività_delle_vendite_ROS", colnames(df_panel_data))
colnames(df_panel_data) <- gsub("ROE", "Redditività_del_capitale_proprio_ROE", colnames(df_panel_data))
colnames(df_panel_data) <- gsub("ROA","Redditività_del_totale_attivo_ROA", colnames(df_panel_data))

ANALISI PANEL DATA

Questa sezione implementa un’analisi panel data per esplorare la relazione tra gli indici di concentrazione e le variabili di performance aziendale, con e senza variabili di controllo.

# Caricamento dei pacchetti richiesti
library(plm)
## Warning: il pacchetto 'plm' è stato creato con R versione 4.4.2
## 
## Caricamento pacchetto: 'plm'
## I seguenti oggetti sono mascherati da 'package:dplyr':
## 
##     between, lag, lead
library(lmtest)
## Warning: il pacchetto 'lmtest' è stato creato con R versione 4.4.2
## Caricamento del pacchetto richiesto: zoo
## 
## Caricamento pacchetto: 'zoo'
## I seguenti oggetti sono mascherati da 'package:base':
## 
##     as.Date, as.Date.numeric
library(car)
## Warning: il pacchetto 'car' è stato creato con R versione 4.4.2
## Caricamento del pacchetto richiesto: carData
## 
## Caricamento pacchetto: 'car'
## Il seguente oggetto è mascherato da 'package:dplyr':
## 
##     recode
library(stargazer)
## 
## Please cite as:
##  Hlavac, Marek (2022). stargazer: Well-Formatted Regression and Summary Statistics Tables.
##  R package version 5.2.3. https://CRAN.R-project.org/package=stargazer
library(readxl)

# Trasformazione delle colonne 'Anno' e 'NACE' in fattori
df_panel_data$Anno <- as.factor(df_panel_data$Anno)
df_panel_data$NACE <- as.factor(df_panel_data$NACE)

# Liste delle variabili di performance e degli indici
performance_vars <- c("Redditività_delle_vendite_ROS", "Redditività_del_capitale_proprio_ROE",
                      "Redditività_del_totale_attivo_ROA", "EBITDA_Vendite")
indici_vars <- c("CR4", "HHI", "Gini")

# Liste per raccogliere i modelli
modelli_senza_controllo <- list()
modelli_con_controllo <- list()

MODELLI SENZA VARIABILI DI CONTROLLO

# Loop per costruire i modelli
for (perf_var in performance_vars) {
  for (indice_var in indici_vars) {
    # Formula del modello
    formula_senza <- as.formula(paste(perf_var, "~", indice_var))
    
    # Modello panel 'within' senza variabili di controllo
    model_senza <- plm(formula_senza, data = df_panel_data, index = c("NACE", "Anno"), model = "within")
    
    # Salva il modello nella lista
    modelli_senza_controllo[[paste(perf_var, indice_var, sep = "_")]] <- model_senza
  }
}

MODELLI CON VARIABILI DI CONTROLLO

# Loop per costruire i modelli
for (perf_var in performance_vars) {
  for (indice_var in indici_vars) {
    # Formula del modello
    formula_con <- as.formula(paste(perf_var, "~", indice_var, "+ Debt_Equity_ratio + log_Totale_Attività + log_TOTALE_DEBITI + log_Capitale_sociale"))
    
    # Modello panel 'within' con variabili di controllo
    model_con <- plm(formula_con, data = df_panel_data, index = c("NACE", "Anno"), model = "within")
    
    # Salva il modello nella lista
    modelli_con_controllo[[paste(perf_var, indice_var, sep = "_")]] <- model_con
  }
}
# Visualizzazione dei risultati

# Visualizza i risultati dei modelli senza variabili di controllo
stargazer(modelli_senza_controllo, type = "text", title = "Risultati dei Modelli senza Variabili di Controllo")
## 
## Risultati dei Modelli senza Variabili di Controllo
## ====================================================================================================================================================
##                                                                              Dependent variable:                                                    
##                           --------------------------------------------------------------------------------------------------------------------------
##                                Redditività_delle_vendite_ROS       Redditività_del_capitale_proprio_ROE Redditività_del_totale_attivo_ROA      EBITDA_Vendite      
##                              (1)          (2)            (3)           (4)       (5)       (6)      (7)     (8)     (9)     (10)    (11)     (12)   
## ----------------------------------------------------------------------------------------------------------------------------------------------------
## CR4                         -0.027                                   -0.239*                       0.098                    0.358                   
##                            (0.044)                                   (0.122)                      (0.112)                  (0.278)                  
##                                                                                                                                                     
## HHI                                     -0.00003                                -0.001                     0.001                   0.0004           
##                                         (0.0003)                               (0.001)                    (0.001)                  (0.002)          
##                                                                                                                                                     
## Gini                                                  -22.420**                         -56.329**                 -16.105                  -116.856*
##                                                        (9.692)                          (27.422)                  (25.362)                 (62.376) 
##                                                                                                                                                     
## ----------------------------------------------------------------------------------------------------------------------------------------------------
## Observations                 135          135            135           135       135       135      135     135     135      135     135      135   
## R2                          0.003        0.0001         0.043         0.031     0.018     0.034    0.006   0.008   0.003    0.014  0.0003    0.029  
## Adjusted R2                 -0.123       -0.126         -0.078       -0.091     -0.105   -0.087   -0.119  -0.117   -0.122  -0.111  -0.126   -0.094  
## F Statistic (df = 1; 119)   0.373        0.008         5.351**       3.849*     2.214    4.219**   0.769   0.962   0.403    1.655   0.039   3.510*  
## ====================================================================================================================================================
## Note:                                                                                                                    *p<0.1; **p<0.05; ***p<0.01
# Visualizza i risultati dei modelli con variabili di controllo
stargazer(modelli_con_controllo, type = "text", title = "Risultati dei Modelli con Variabili di Controllo")
## 
## Risultati dei Modelli con Variabili di Controllo
## ====================================================================================================================================================
##                                                                              Dependent variable:                                                    
##                           --------------------------------------------------------------------------------------------------------------------------
##                                Redditività_delle_vendite_ROS      Redditività_del_capitale_proprio_ROE Redditività_del_totale_attivo_ROA       EBITDA_Vendite      
##                              (1)          (2)           (3)           (4)       (5)       (6)      (7)     (8)     (9)     (10)    (11)      (12)   
## ----------------------------------------------------------------------------------------------------------------------------------------------------
## CR4                         -0.030                                  -0.235*                      -0.016                    0.252                    
##                            (0.047)                                  (0.133)                      (0.117)                  (0.302)                   
##                                                                                                                                                     
## HHI                                     -0.0003                               -0.002*                    -0.001                   -0.001            
##                                        (0.0003)                               (0.001)                    (0.001)                  (0.002)           
##                                                                                                                                                     
## Gini                                                 -26.817***                        -64.791**                 -46.190*                 -163.514**
##                                                       (10.075)                         (28.810)                  (25.274)                  (64.464) 
##                                                                                                                                                     
## Debt_Equity_ratio           -0.007      -0.011         -0.012        0.059     0.009    -0.015   0.335*  0.340*   0.339*   0.625   0.745    0.754   
##                            (0.076)      (0.074)       (0.072)       (0.212)   (0.207)   (0.205)  (0.187) (0.183) (0.180)  (0.483) (0.472)  (0.458)  
##                                                                                                                                                     
## log_Totale_Attività        3.164**      3.683**       3.479**        2.816     5.625     3.551    4.064   4.949   4.613    4.153   6.220    6.151   
##                            (1.414)      (1.512)       (1.380)       (3.963)   (4.241)   (3.946)  (3.498) (3.742) (3.462)  (9.011) (9.672)  (8.830)  
##                                                                                                                                                     
## log_TOTALE_DEBITI          -2.610*     -2.892**       -2.485*        0.500     -1.104    0.642    1.670   1.226   1.919    3.960   3.230    5.145   
##                            (1.348)      (1.370)       (1.312)       (3.780)   (3.842)   (3.750)  (3.336) (3.391) (3.290)  (8.594) (8.764)  (8.391)  
##                                                                                                                                                     
## log_Capitale_sociale        -0.122      -0.177         -0.188       -2.857    -3.351*   -3.462*  -1.789  -1.787   -1.806  -5.624  -4.822    -4.827  
##                            (0.700)      (0.686)       (0.668)       (1.961)   (1.925)   (1.911)  (1.731) (1.699) (1.677)  (4.459) (4.392)  (4.276)  
##                                                                                                                                                     
## ----------------------------------------------------------------------------------------------------------------------------------------------------
## Observations                 135          135           135           135       135       135      135     135     135      135     135      135    
## R2                          0.046        0.050         0.098         0.055     0.058     0.071    0.112   0.115   0.137    0.051   0.048    0.095   
## Adjusted R2                 -0.112      -0.107         -0.051       -0.101     -0.097   -0.083   -0.035  -0.031   -0.006  -0.106  -0.110    -0.054  
## F Statistic (df = 5; 115)   1.107        1.218        2.503**        1.345     1.422     1.746   2.904** 2.998** 3.652***  1.224   1.149   2.425**  
## ====================================================================================================================================================
## Note:                                                                                                                    *p<0.1; **p<0.05; ***p<0.01

MODELLI PANEL DATA E TEST DIAGNOSTICI

Questa sezione utilizza una funzione personalizzata per eseguire modelli panel data e condurre test diagnostici, tra cui Hausman, Breusch-Pagan e Wooldridge, per valutare la validità dei modelli.

# Caricamento dei pacchetti richiesti
library(plm)
library(lmtest)
library(car)

# Definisci le variabili di performance, gli indici e le variabili di controllo
performance_vars <- c("Redditività_delle_vendite_ROS", "Redditività_del_capitale_proprio_ROE", "Redditività_del_totale_attivo_ROA", "EBITDA_Vendite")
indices <- c("CR4", "HHI", "Gini")
control_vars <- c("Debt_Equity_ratio", "log_Totale_Attività", "log_TOTALE_DEBITI", "log_Capitale_sociale")

# Funzione per eseguire i modelli e i test
run_panel_tests <- function(dep_var, indep_var, controls = NULL) {
  # Definisci le formule per i due modelli
  if (is.null(controls)) {
    formula <- as.formula(paste(dep_var, "~", indep_var))
  } else {
    formula <- as.formula(paste(dep_var, "~", indep_var, "+", paste(controls, collapse = " + ")))
  }
  
  # Modello a effetti fissi
  fixed_model <- plm(formula, data = df_panel_data, model = "within")
  
  # Modello a effetti casuali
  random_model <- plm(formula, data = df_panel_data, model = "random")
  
  # Test di Hausman
  hausman_test <- tryCatch(phtest(fixed_model, random_model), error = function(e) NA)
  
  # Modello OLS per il test di Breusch-Pagan
  ols_model <- plm(formula, data = df_panel_data, model = "pooling")
  
  # Test di Breusch-Pagan per gli effetti casuali
  bp_effects_test <- tryCatch(plmtest(ols_model, type = "bp"), error = function(e) NA)
  
  # Test di Wooldridge per autocorrelazione
  wooldridge_test <- tryCatch(pbgtest(fixed_model), error = function(e) NA)
  
  # Test di Breusch-Pagan per eteroschedasticità
  bp_hetero_test <- tryCatch(bptest(fixed_model), error = function(e) NA)
  
  # Ritorna i risultati
  list(
    Hausman_Test = hausman_test,
    BP_Effects_Test = bp_effects_test,
    Wooldridge_Test = wooldridge_test,
    BP_Hetero_Test = bp_hetero_test
  )
}

Esecuzione dei Test per Modelli Panel

Questa sezione presenta i risultati dei test diagnostici sui modelli panel per diverse combinazioni di variabili di performance e indici di concentrazione.

# Caricamento dei pacchetti
library(plm)
library(lmtest)
library(car)
library(kableExtra)
## Warning: il pacchetto 'kableExtra' è stato creato con R versione 4.4.2
## 
## Caricamento pacchetto: 'kableExtra'
## Il seguente oggetto è mascherato da 'package:dplyr':
## 
##     group_rows
# Variabili di performance, indici e variabili di controllo
performance_vars <- c("Redditività_delle_vendite_ROS", "Redditività_del_capitale_proprio_ROE", "Redditività_del_totale_attivo_ROA", "EBITDA_Vendite")
indices <- c("CR4", "HHI", "Gini")
control_vars <- c("Debt_Equity_ratio", "log_Totale_Attività", "log_TOTALE_DEBITI", "log_Capitale_sociale")

# Esegui i modelli e i test per ogni combinazione
results <- list()

for (dep_var in performance_vars) {
  for (indep_var in indices) {
    # Modello con solo indice
    no_controls <- run_panel_tests(dep_var, indep_var)
    # Modello con indice + variabili di controllo
    with_controls <- run_panel_tests(dep_var, indep_var, control_vars)
    
    # Salva i risultati
    results[[paste(dep_var, indep_var, "No_Controls")]] <- no_controls
    results[[paste(dep_var, indep_var, "With_Controls")]] <- with_controls
  }
}

pvalue dei test diagnostici

res0 = results

nomi_righe = names(res0)
nomi_colonne = names(res0[[1]])

nomi_righe = nomi_righe %>% 
  {gsub('Redditività_delle_vendite_ROS','ROS',.)} %>%
  {gsub('Redditività_del_capitale_proprio_ROE','ROE',.)} %>%
  {gsub('Redditività_del_capitale_proprio_ROE','ROE',.)} %>%
  {gsub('Redditività_del_totale_attivo_ROA','ROA',.)} %>%
  {gsub('EBITDA_Vendite','EBITDA',.)} %>%
  {gsub('No_Controls','noctrl',.)} %>%
  {gsub('With_Controls','ctrl',.)}


nomi_righe
##  [1] "ROS CR4 noctrl"     "ROS CR4 ctrl"       "ROS HHI noctrl"    
##  [4] "ROS HHI ctrl"       "ROS Gini noctrl"    "ROS Gini ctrl"     
##  [7] "ROE CR4 noctrl"     "ROE CR4 ctrl"       "ROE HHI noctrl"    
## [10] "ROE HHI ctrl"       "ROE Gini noctrl"    "ROE Gini ctrl"     
## [13] "ROA CR4 noctrl"     "ROA CR4 ctrl"       "ROA HHI noctrl"    
## [16] "ROA HHI ctrl"       "ROA Gini noctrl"    "ROA Gini ctrl"     
## [19] "EBITDA CR4 noctrl"  "EBITDA CR4 ctrl"    "EBITDA HHI noctrl" 
## [22] "EBITDA HHI ctrl"    "EBITDA Gini noctrl" "EBITDA Gini ctrl"
nr = length(nomi_righe)
nc = length(nomi_colonne)

tabPV = matrix(NA, nrow=nr, ncol=nc)
tabTest = matrix(NA, nrow=nr, ncol=nc)

rownames(tabPV) = rownames(tabTest) = nomi_righe
colnames(tabPV) = colnames(tabTest) = nomi_colonne

for (r in 1:nr){
  for (c in 1:nc){
    row = res0[[r]]
    cell = row[[c]]
    pval = cell$p.value
    test = cell$statistic
    
    tabPV[r,c] = pval
    tabTest[r,c] = test
  }
}
library(pheatmap)
## Warning: il pacchetto 'pheatmap' è stato creato con R versione 4.4.2
pheatmap(tabPV, 
         color = colorRampPalette(c("white",
                                    "red"))(50), 
         cluster_rows = FALSE, 
         cluster_cols = FALSE, 
         display_numbers = TRUE, 
         fontsize_number = 10,
         angle_col = 0,
         number_format = "%.4f",
         main = "p-value dei test su tutti i modelli provati")  

library(pheatmap)


daTenere = c('ROS CR4 ctrl', 
             'ROS HHI ctrl',
             'ROS Gini ctrl',
             'ROS Gini noctrl',
             'ROE Gini ctrl',
             'ROE Gini noctrl',
             'EBITDA Gini ctrl'
)


pheatmap(tabPV[daTenere,], 
         color = colorRampPalette(c("white",
                                    #"lightblue",
                                    #"lightgreen", 
                                    #"yellow", 
                                    "red"))(50), 
         cluster_rows = FALSE, 
         cluster_cols = FALSE, 
         display_numbers = TRUE, 
         fontsize_number = 10,
         angle_col = 0,
         number_format = "%.4f",
         main='p-value dei test sui modelli con almeno un coefficiente significativo al 5%')  

Presentazione dei Risultati

# Crea il dataframe dei risultati
results <- data.frame(
  Modello = rep(c(
    "Redditività delle vendite ROS CR4 (No Controls)", 
    "Redditività delle vendite ROS CR4 (With Controls)",
    "Redditività delle vendite ROS HHI (No Controls)",
    "Redditività delle vendite ROS HHI (With Controls)",
    "Redditività delle vendite ROS GINI (No Controls)",
    "Redditività delle vendite ROS GINI (With Controls)",
    "Redditività del capitale proprio ROE CR4 (No Controls)", 
    "Redditività del capitale proprio ROE CR4 (With Controls)",
    "Redditività del capitale proprio ROE HHI (No Controls)",
    "Redditività del capitale proprio ROE HHI (With Controls)",
    "Redditività del capitale proprio ROE GINI (No Controls)",
    "Redditività del capitale proprio ROE GINI (With Controls)",
    "Redditività del totale attivo ROA CR4 (No Controls)", 
    "Redditività del totale attivo ROA CR4 (With Controls)", 
    "Redditività del totale attivo ROA HHI (No Controls)",
    "Redditività del totale attivo ROA HHI (With Controls)",
    "Redditività del totale attivo ROA GINI (No Controls)",
    "Redditività del totale attivo ROA GINI (With Controls)",
    "EBITDA Vendite CR4 (No Controls)",
    "EBITDA Vendite CR4 (With Controls)",
    "EBITDA Vendite HHI (No Controls)",
    "EBITDA Vendite HHI (With Controls)",
    "EBITDA Vendite GINI (No Controls)",
    "EBITDA Vendite GINI (With Controls)"
  ), each = 4),
  Test = rep(c("Hausman Test", "BP Effects Test", "Wooldridge Test", "BP Hetero Test"), times = 24),
  Valore = c(
    0.001, 10.718, 56.914, 3.160, 
    4.938, 8.307, 53.307, 6.729, 
    0.029, 10.755, 57.170, 0.484, 
    2.377, 8.538, 49.798, 6.117, 
    0.207, 13.689, 48.019, 1.516, 
    1.819, 12.056, 37.902, 3.781, 
    0.031, 0.506, 45.960, 6.380, 
    26.940, 0.995, 23.006, 8.445, 
    0.033, 0.361, 50.037, 3.947, 
    9.563, 0.640, 24.463, 7.637, 
    0.804, 0.221, 50.879, 0.023, 
    12.634, 0.508, 30.730, 2.648, 
    0.009, 1.115, 45.952, 9.319, 
    10.068, 0.217, 44.301, 14.008, 
    0.020, 1.110, 45.281, 11.089,
    4.827, 0.072, 44.685, 12.738, 
    0.431, 1.059, 43.273, 1.250, 
    5.408, 0.128, 39.004, 11.870, 
    0.053, 3.141, 44.626, 14.738,
    46.053, 2.502, 38.778, 29.818, 
    0.328, 3.031, 46.804, 7.206, 
    26.918, 3.916, 32.270, 20.382, 
    0.348, 2.646, 46.667, 0.023, 
    6.319, 1.531, 42.519, 25.926
  ),
  p_value = c(
    0.969, 0.001, 0.000, 0.075, 
    0.424, 0.004, 0.000, 0.242,
    0.865, 0.001, 0.000, 0.487, 
    0.795, 0.003, 0.000, 0.295, 
    0.649, 0.000, 0.000, 0.218, 
    0.874, 0.001, 0.001, 0.581,
    0.859, 0.477, 0.000, 0.012, 
    0.000, 0.318, 0.084, 0.133, 
    0.857, 0.548, 0.000, 0.047,
    0.089, 0.424, 0.058, 0.178, 
    0.370, 0.638, 0.000, 0.879, 
    0.027, 0.476, 0.010, 0.754, 
    0.926, 0.291, 0.000, 0.002, 
    0.073, 0.642, 0.000, 0.016, 
    0.887, 0.292, 0.000, 0.001, 
    0.437, 0.788, 0.000, 0.026, 
    0.511, 0.303, 0.000, 0.264, 
    0.368, 0.720, 0.001, 0.037, 
    0.817, 0.076, 0.000, 0.000, 
    0.000, 0.114, 0.001, 0.000, 
    0.567, 0.082, 0.000, 0.007, 
    0.000, 0.048, 0.006, 0.001, 
    0.555, 0.104, 0.000, 0.879, 
    0.276, 0.216, 0.000, 0.000
  )
)

#View(results)
Risultati <- data.frame(nrow="")
results1 <- cbind(results, Risultati)
colnames(results1) <- gsub("nrow", "Risultati", colnames(results1))
#View(results1)

for(i in 1:96){
  if(results1$Test[i] == "Hausman Test"){
    if(results1$p_value[i]<0.05){
      results1$Risultati[i]="Modelli a effetti fissi preferibile"
    }else if(results1$p_value[i]>=0.05){
      results1$Risultati[i]="Modelli a effetti casuali preferibile"
    }
  }else if(results1$Test[i] == "BP Effects Test"){
    if(results1$p_value[i]<0.05){
      results1$Risultati[i]="Effetti non significativi, OLS potrebbe essere adeguato"
    }else if(results1$p_value[i]>=0.05){
      results1$Risultati[i]="Effetti significativi, panel raccomandato"
    }
  }else if(results1$Test[i] == "Wooldridge Test"){
    if(results1$p_value[i]<0.05){
      results1$Risultati[i]="Presenza di autocorrelazione"
    }else if(results1$p_value[i]>=0.05){
      results1$Risultati[i]="Assenza di autocorrelazione"
    }
  }else if(results1$Test[i] == "BP Hetero Test"){
    if(results1$p_value[i]<0.05){
      results1$Risultati[i]="Presenza di eteroschedasticità"
    }else if(results1$p_value[i]>=0.05){
      results1$Risultati[i]="Assenza di eteroschedasticità"
    }
  }
}

# Stampa la tabella con Kable
knitr::kable(results1, format = "html", caption = "Risultati dei Test per Modelli Panel Completi") %>%
  kable_styling(full_width = F)
Risultati dei Test per Modelli Panel Completi
Modello Test Valore p_value Risultati
Redditività delle vendite ROS CR4 (No Controls) Hausman Test 0.001 0.969 Modelli a effetti casuali preferibile
Redditività delle vendite ROS CR4 (No Controls) BP Effects Test 10.718 0.001 Effetti non significativi, OLS potrebbe essere adeguato
Redditività delle vendite ROS CR4 (No Controls) Wooldridge Test 56.914 0.000 Presenza di autocorrelazione
Redditività delle vendite ROS CR4 (No Controls) BP Hetero Test 3.160 0.075 Assenza di eteroschedasticità
Redditività delle vendite ROS CR4 (With Controls) Hausman Test 4.938 0.424 Modelli a effetti casuali preferibile
Redditività delle vendite ROS CR4 (With Controls) BP Effects Test 8.307 0.004 Effetti non significativi, OLS potrebbe essere adeguato
Redditività delle vendite ROS CR4 (With Controls) Wooldridge Test 53.307 0.000 Presenza di autocorrelazione
Redditività delle vendite ROS CR4 (With Controls) BP Hetero Test 6.729 0.242 Assenza di eteroschedasticità
Redditività delle vendite ROS HHI (No Controls) Hausman Test 0.029 0.865 Modelli a effetti casuali preferibile
Redditività delle vendite ROS HHI (No Controls) BP Effects Test 10.755 0.001 Effetti non significativi, OLS potrebbe essere adeguato
Redditività delle vendite ROS HHI (No Controls) Wooldridge Test 57.170 0.000 Presenza di autocorrelazione
Redditività delle vendite ROS HHI (No Controls) BP Hetero Test 0.484 0.487 Assenza di eteroschedasticità
Redditività delle vendite ROS HHI (With Controls) Hausman Test 2.377 0.795 Modelli a effetti casuali preferibile
Redditività delle vendite ROS HHI (With Controls) BP Effects Test 8.538 0.003 Effetti non significativi, OLS potrebbe essere adeguato
Redditività delle vendite ROS HHI (With Controls) Wooldridge Test 49.798 0.000 Presenza di autocorrelazione
Redditività delle vendite ROS HHI (With Controls) BP Hetero Test 6.117 0.295 Assenza di eteroschedasticità
Redditività delle vendite ROS GINI (No Controls) Hausman Test 0.207 0.649 Modelli a effetti casuali preferibile
Redditività delle vendite ROS GINI (No Controls) BP Effects Test 13.689 0.000 Effetti non significativi, OLS potrebbe essere adeguato
Redditività delle vendite ROS GINI (No Controls) Wooldridge Test 48.019 0.000 Presenza di autocorrelazione
Redditività delle vendite ROS GINI (No Controls) BP Hetero Test 1.516 0.218 Assenza di eteroschedasticità
Redditività delle vendite ROS GINI (With Controls) Hausman Test 1.819 0.874 Modelli a effetti casuali preferibile
Redditività delle vendite ROS GINI (With Controls) BP Effects Test 12.056 0.001 Effetti non significativi, OLS potrebbe essere adeguato
Redditività delle vendite ROS GINI (With Controls) Wooldridge Test 37.902 0.001 Presenza di autocorrelazione
Redditività delle vendite ROS GINI (With Controls) BP Hetero Test 3.781 0.581 Assenza di eteroschedasticità
Redditività del capitale proprio ROE CR4 (No Controls) Hausman Test 0.031 0.859 Modelli a effetti casuali preferibile
Redditività del capitale proprio ROE CR4 (No Controls) BP Effects Test 0.506 0.477 Effetti significativi, panel raccomandato
Redditività del capitale proprio ROE CR4 (No Controls) Wooldridge Test 45.960 0.000 Presenza di autocorrelazione
Redditività del capitale proprio ROE CR4 (No Controls) BP Hetero Test 6.380 0.012 Presenza di eteroschedasticità
Redditività del capitale proprio ROE CR4 (With Controls) Hausman Test 26.940 0.000 Modelli a effetti fissi preferibile
Redditività del capitale proprio ROE CR4 (With Controls) BP Effects Test 0.995 0.318 Effetti significativi, panel raccomandato
Redditività del capitale proprio ROE CR4 (With Controls) Wooldridge Test 23.006 0.084 Assenza di autocorrelazione
Redditività del capitale proprio ROE CR4 (With Controls) BP Hetero Test 8.445 0.133 Assenza di eteroschedasticità
Redditività del capitale proprio ROE HHI (No Controls) Hausman Test 0.033 0.857 Modelli a effetti casuali preferibile
Redditività del capitale proprio ROE HHI (No Controls) BP Effects Test 0.361 0.548 Effetti significativi, panel raccomandato
Redditività del capitale proprio ROE HHI (No Controls) Wooldridge Test 50.037 0.000 Presenza di autocorrelazione
Redditività del capitale proprio ROE HHI (No Controls) BP Hetero Test 3.947 0.047 Presenza di eteroschedasticità
Redditività del capitale proprio ROE HHI (With Controls) Hausman Test 9.563 0.089 Modelli a effetti casuali preferibile
Redditività del capitale proprio ROE HHI (With Controls) BP Effects Test 0.640 0.424 Effetti significativi, panel raccomandato
Redditività del capitale proprio ROE HHI (With Controls) Wooldridge Test 24.463 0.058 Assenza di autocorrelazione
Redditività del capitale proprio ROE HHI (With Controls) BP Hetero Test 7.637 0.178 Assenza di eteroschedasticità
Redditività del capitale proprio ROE GINI (No Controls) Hausman Test 0.804 0.370 Modelli a effetti casuali preferibile
Redditività del capitale proprio ROE GINI (No Controls) BP Effects Test 0.221 0.638 Effetti significativi, panel raccomandato
Redditività del capitale proprio ROE GINI (No Controls) Wooldridge Test 50.879 0.000 Presenza di autocorrelazione
Redditività del capitale proprio ROE GINI (No Controls) BP Hetero Test 0.023 0.879 Assenza di eteroschedasticità
Redditività del capitale proprio ROE GINI (With Controls) Hausman Test 12.634 0.027 Modelli a effetti fissi preferibile
Redditività del capitale proprio ROE GINI (With Controls) BP Effects Test 0.508 0.476 Effetti significativi, panel raccomandato
Redditività del capitale proprio ROE GINI (With Controls) Wooldridge Test 30.730 0.010 Presenza di autocorrelazione
Redditività del capitale proprio ROE GINI (With Controls) BP Hetero Test 2.648 0.754 Assenza di eteroschedasticità
Redditività del totale attivo ROA CR4 (No Controls) Hausman Test 0.009 0.926 Modelli a effetti casuali preferibile
Redditività del totale attivo ROA CR4 (No Controls) BP Effects Test 1.115 0.291 Effetti significativi, panel raccomandato
Redditività del totale attivo ROA CR4 (No Controls) Wooldridge Test 45.952 0.000 Presenza di autocorrelazione
Redditività del totale attivo ROA CR4 (No Controls) BP Hetero Test 9.319 0.002 Presenza di eteroschedasticità
Redditività del totale attivo ROA CR4 (With Controls) Hausman Test 10.068 0.073 Modelli a effetti casuali preferibile
Redditività del totale attivo ROA CR4 (With Controls) BP Effects Test 0.217 0.642 Effetti significativi, panel raccomandato
Redditività del totale attivo ROA CR4 (With Controls) Wooldridge Test 44.301 0.000 Presenza di autocorrelazione
Redditività del totale attivo ROA CR4 (With Controls) BP Hetero Test 14.008 0.016 Presenza di eteroschedasticità
Redditività del totale attivo ROA HHI (No Controls) Hausman Test 0.020 0.887 Modelli a effetti casuali preferibile
Redditività del totale attivo ROA HHI (No Controls) BP Effects Test 1.110 0.292 Effetti significativi, panel raccomandato
Redditività del totale attivo ROA HHI (No Controls) Wooldridge Test 45.281 0.000 Presenza di autocorrelazione
Redditività del totale attivo ROA HHI (No Controls) BP Hetero Test 11.089 0.001 Presenza di eteroschedasticità
Redditività del totale attivo ROA HHI (With Controls) Hausman Test 4.827 0.437 Modelli a effetti casuali preferibile
Redditività del totale attivo ROA HHI (With Controls) BP Effects Test 0.072 0.788 Effetti significativi, panel raccomandato
Redditività del totale attivo ROA HHI (With Controls) Wooldridge Test 44.685 0.000 Presenza di autocorrelazione
Redditività del totale attivo ROA HHI (With Controls) BP Hetero Test 12.738 0.026 Presenza di eteroschedasticità
Redditività del totale attivo ROA GINI (No Controls) Hausman Test 0.431 0.511 Modelli a effetti casuali preferibile
Redditività del totale attivo ROA GINI (No Controls) BP Effects Test 1.059 0.303 Effetti significativi, panel raccomandato
Redditività del totale attivo ROA GINI (No Controls) Wooldridge Test 43.273 0.000 Presenza di autocorrelazione
Redditività del totale attivo ROA GINI (No Controls) BP Hetero Test 1.250 0.264 Assenza di eteroschedasticità
Redditività del totale attivo ROA GINI (With Controls) Hausman Test 5.408 0.368 Modelli a effetti casuali preferibile
Redditività del totale attivo ROA GINI (With Controls) BP Effects Test 0.128 0.720 Effetti significativi, panel raccomandato
Redditività del totale attivo ROA GINI (With Controls) Wooldridge Test 39.004 0.001 Presenza di autocorrelazione
Redditività del totale attivo ROA GINI (With Controls) BP Hetero Test 11.870 0.037 Presenza di eteroschedasticità
EBITDA Vendite CR4 (No Controls) Hausman Test 0.053 0.817 Modelli a effetti casuali preferibile
EBITDA Vendite CR4 (No Controls) BP Effects Test 3.141 0.076 Effetti significativi, panel raccomandato
EBITDA Vendite CR4 (No Controls) Wooldridge Test 44.626 0.000 Presenza di autocorrelazione
EBITDA Vendite CR4 (No Controls) BP Hetero Test 14.738 0.000 Presenza di eteroschedasticità
EBITDA Vendite CR4 (With Controls) Hausman Test 46.053 0.000 Modelli a effetti fissi preferibile
EBITDA Vendite CR4 (With Controls) BP Effects Test 2.502 0.114 Effetti significativi, panel raccomandato
EBITDA Vendite CR4 (With Controls) Wooldridge Test 38.778 0.001 Presenza di autocorrelazione
EBITDA Vendite CR4 (With Controls) BP Hetero Test 29.818 0.000 Presenza di eteroschedasticità
EBITDA Vendite HHI (No Controls) Hausman Test 0.328 0.567 Modelli a effetti casuali preferibile
EBITDA Vendite HHI (No Controls) BP Effects Test 3.031 0.082 Effetti significativi, panel raccomandato
EBITDA Vendite HHI (No Controls) Wooldridge Test 46.804 0.000 Presenza di autocorrelazione
EBITDA Vendite HHI (No Controls) BP Hetero Test 7.206 0.007 Presenza di eteroschedasticità
EBITDA Vendite HHI (With Controls) Hausman Test 26.918 0.000 Modelli a effetti fissi preferibile
EBITDA Vendite HHI (With Controls) BP Effects Test 3.916 0.048 Effetti non significativi, OLS potrebbe essere adeguato
EBITDA Vendite HHI (With Controls) Wooldridge Test 32.270 0.006 Presenza di autocorrelazione
EBITDA Vendite HHI (With Controls) BP Hetero Test 20.382 0.001 Presenza di eteroschedasticità
EBITDA Vendite GINI (No Controls) Hausman Test 0.348 0.555 Modelli a effetti casuali preferibile
EBITDA Vendite GINI (No Controls) BP Effects Test 2.646 0.104 Effetti significativi, panel raccomandato
EBITDA Vendite GINI (No Controls) Wooldridge Test 46.667 0.000 Presenza di autocorrelazione
EBITDA Vendite GINI (No Controls) BP Hetero Test 0.023 0.879 Assenza di eteroschedasticità
EBITDA Vendite GINI (With Controls) Hausman Test 6.319 0.276 Modelli a effetti casuali preferibile
EBITDA Vendite GINI (With Controls) BP Effects Test 1.531 0.216 Effetti significativi, panel raccomandato
EBITDA Vendite GINI (With Controls) Wooldridge Test 42.519 0.000 Presenza di autocorrelazione
EBITDA Vendite GINI (With Controls) BP Hetero Test 25.926 0.000 Presenza di eteroschedasticità